000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. FILENAMEEXTRACTOR.
       AUTHOR. GROEP 28.
       AUTHOR. MICHEL GRYP.
       AUTHOR. MICHAEL HEUGHEBAERT.
       AUTHOR. MATTHIAS REYNAERT.
              
       ENVIRONMENT DIVISION.
       
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-POINTER            PIC 9(3).
       01 WS-FILENAME           PIC X(50).
       
       LINKAGE SECTION.
       01 FILEPATH              PIC X(250).

       PROCEDURE DIVISION USING FILEPATH RETURNING WS-FILENAME.       
       PGM.
       
      * Zoek het eerste voorkomen van "\" en tel hoeveel tekens nog voorkomen
      * FILEPATH waarde: C:\Program Files\Bestandsnaam.txt
      * WS-POINTER waarde: 16
       INITIALIZE WS-POINTER
       INSPECT FUNCTION REVERSE(FILEPATH) TALLYING WS-POINTER
         FOR CHARACTERS AFTER INITIAL "\"
       
      * Verplaats de pointer naar de eerste letter van de bestandsnaam 
      * Unstring de volledige bestandsnaam met extentie naar WS-FILENAME 
      * WS-POINTER waarde: 18
      * WS-FILENAME waarde: Bestandsnaam.txt
       ADD 2 TO WS-POINTER       
       UNSTRING 
         FILEPATH INTO WS-FILENAME POINTER WS-POINTER
       END-UNSTRING
       
      * Zoek het eerste voorkomen van "." en tel hoeveel tekens nog voorkomen
      * WS-FILENAME waarde: Bestandsnaam.txt
      * WS-POINTER waarde: 12
       INITIALIZE WS-POINTER
       INSPECT FUNCTION REVERSE(WS-FILENAME) TALLYING WS-POINTER
         FOR CHARACTERS AFTER INITIAL "."
      
      * Verwijder alles na het laatste voorkomen van "."
      * WS-FILENAME waarde: Bestandsnaam
       MOVE WS-FILENAME(1:WS-POINTER) TO WS-FILENAME 
       
       EXIT PROGRAM.